import { Injectable } from '@angular/core';
// 在路由激活之前获取路由数据 
import {
    Resolve, ActivatedRouteSnapshot, RouterStateSnapshot, Router
} from '@angular/router';
import { Observable } from 'rxjs';




@Injectable()           //这个注解的意识是可以 把其他服务注入到这个类里
export class ResolveGuard implements Resolve<Object> {

    constructor(private router: Router) {

    }
    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Object> | Promise<Object> | Object {

        let params = route.params;

        // 一般在这个时候去拿路由数据去后台ajax
        // 在路由初始化之前做一些事在把数据带过去
        return {
            name: '我是Resolve守卫传的数据',
            age:20,
        }
        return undefined;
    }
}